Heise 02.01.2026
09:00 Uhr

Neu in .NET 10.0 [4]: Neue Operatorüberladungen in C# 14.0


C# 14.0 bietet auch Operatorüberladungen für zusammengesetzte Zuweisungsoperatoren.

Neu in .NET 10.0 [4]: Neue Operatorüberladungen in C# 14.0

Operatorüberladungen beherrscht die Programmiersprache C# seit ihrer ersten Version aus dem Jahr 2002 mit dem Schlüsselwort operator.

In C# 14.0 hat Microsoft dabei nun eine Verbesserungsmöglichkeit entdeckt: Entwicklerinnen und Entwickler können jetzt für die zusammengesetzten/verkürzten Zuweisungsoperatoren (engl. Compound Assignment Operators) +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= und >>>= eigene Operatorimplementierungen definieren.

Bisher wurden hier immer die Operatorimplementierungen des Basisoperators (also + bei +=, - bei -=, & bei &= usw.) aufgerufen. Das passiert auch weiterhin, aber nur, wenn es keine eigene Operatorimplementierung für den Compound Assignment Operator gibt.

Das erlaubt mehr Kontrolle über die Speichernutzung: Bei den zusammengesetzten/verkürzten Zuweisungsoperatoren kann man die Operation zwischen zwei Objekten so implementieren, dass kein neues Objekt erzeugt wird, sondern ein bestehendes Objekt weiterverwendet wird.

Die Compound Assignment Operators sind (anders als andere Operatoren) nicht static und geben void zurück, da sie das Objekt selbst manipulieren.

Folgender Codeausschnitt verwendet die User Defined Compound Assignment Operators:

(rme)